The invention relates to the field of digital communication, and in particular a subband channelizer that generates oversampled subbands with relatively low oversampling ratios.
FIG. 1 is a schematic diagram that demonstrates a prior art hardware implementation of a channelizer 10 for computing short Fourier transform (STFT). As shown, each row represents a polyphase filter 0, 1 . . . , K−1. There are 3-K filters altogether. Each of these filters 0, 1 . . . , K−1 are assigned N taps with N coefficients. The data inputted to an individual polyphase filter is shifted M samples at a time through a bank of K filters in a snake-like fashion. The outputs of each tap are connected to the input of the tap, which M taps away in a snake-like fashion.
In each of these polyphase filters 0, 1 . . . , K−1, the data introduced is multiplied with various coefficients and summed to produce the output. The transposed or retimed version of the polyphase filter will work equally well, as long as it is mathematically equivalent. The filter outputs are then Fourier transformed by way of the Fast Fourier Transform (FFT) processor 12 and multiplied with exponentials Wk0−Wk(K−1)mM to produce the oversampled subbands. Each of the exponentials Wk0−Wk(K−1)mM is defined as Wk=e(j2πk/K)+φ, where k=0, 1 . . . K−1 and φ is a phase offset (set to 0 or π/K in most cases). The subband oversampling ratio is equal to K/M.
One of the disadvantages with this configuration is that large amount of input data needs to be shifted through the filters. KN data samples needs to be shifted M samples across many polyphase filters each data shift cycle. The KN data samples are shifted M samples across many polyphase filter each data cycle. Such high throughput data shifting network is often difficult to build especially when there are many polyphase filters.
FIG. 2 is a schematic diagram that illustrates a conventional implementation of a combiner 20 for computing inverse short time Fourier transform (ISTFT). The K inputs subbands are multiplied with exponentials Wk0−Wk(K−1)mM and inverse Fourier transformed by way of a K-point inverse-fast Fourier transform processor 22. The output of the inverse Fourier transform is routed to a polyphase filter bank 0, 1 . . . , K−1. Each row represents a polyphase filter and there are K filters all together. Each polyphase filter has P taps with P coefficients. The input data to each filter 0, 1 . . . , K−1 is multiplied with coefficients in each tap and the product is summed through the bank of K filters in a snake-like fashion, shifting M taps at a time as shown. This means the sum of the output from each tap is connected to the sum of the input of tap which is M taps away in the “snake” like path. The transposed or retimed version of the polyphase filter would work equally well, as long as it is mathematically equivalent.